在資安領域與系統維運中,當伺服器被攻擊或發生錯誤時,我們不可能靠「通靈」來解決問題。所有的駭客足跡、系統報錯、甚至是異常的登入嘗試,都會被如實地記錄在系統日誌 (Log) 裡面。
在 Ubuntu 等多數 Linux 系統中,日誌檔案通常集中存放在 /var/log/ 目錄下。今天,我們將實作系統管理員最常用的三個日誌檢索與監控指令,帶你從茫茫的文字海中找出關鍵線索。
tail)/var/log/syslog 是 Ubuntu 中最核心的系統紀錄檔,它記錄了系統開機以來的各種軟體服務與核心訊息。因為這個檔案通常非常龐大,我們不會用一般的編輯器打開它,而是使用 tail 指令來查看檔案的「最後幾行」。
【實作練習】
在終端機輸入以下指令,查看 syslog 的最後 15 行紀錄(因涉及系統底層資訊,需加上 sudo):
sudo tail -n 15 /var/log/syslog

畫面解析:
從截圖中可以看出,每一行日誌都具備了極為嚴謹的格式。由左至右分別是:
2026-09-20T00:53:24...,精準記錄事件發生的當下。UbuntuLab。systemd[2593] 代表是系統服務管理員發出的訊息。grep)在資安事件調查中,我們最常需要檢查的就是「有沒有人偷偷登入系統」。登入與授權相關的紀錄,會被存放在另一個檔案 /var/log/auth.log 中。
為了解省時間,我們可以使用 grep 這個強大的字串過濾指令,搭配「管線命令 (|)」,只抓出包含特定關鍵字(例如 opened 代表開啟對話/成功授權)的紀錄。
【實作練習】
在終端機輸入以下指令,從 auth.log 中過濾出包含 "opened" 的行,並且只顯示最後 10 筆:
sudo grep "opened" /var/log/auth.log | tail -n 10

畫面解析:
截圖中清楚列出了近期所有的授權行為。你可以看到紀錄中包含了 session opened for user root 或是 session opened for user zhun。如果你未來將這台主機開放到網際網路上,卻在這裡看到不認識的使用者名稱,那就代表系統可能遭到入侵了!
tail -f)當我們正在排解網路問題、或是懷疑目前正遭受攻擊時,我們需要「即時」看到系統的反應。只要在 tail 指令加上 -f (follow) 參數,終端機就會進入即時監聽模式。
【實作練習】
在終端機輸入:
sudo tail -f /var/log/syslog

畫面解析:
輸入指令後,你會發現終端機的提示字元消失了,游標停留在畫面的最下方閃爍。這代表指令並沒有結束,它正在「持續監聽」 /var/log/syslog。只要系統產生了任何新的日誌,畫面就會立刻往上捲動並印出最新內容。這對於排查即時發生的錯誤非常有幫助!
(要退出即時監聽模式,只要按下鍵盤的 Ctrl + C 即可回到一般狀態。)
今天我們學會了使用 tail 與 grep 來檢索與過濾系統日誌。對於資安人員來說,日誌就是辦案的證據;熟練這些指令,能讓你再遇到問題時,不再毫無頭緒,而是能快速定位錯誤發生的原因。
經過這幾天的學習,我們已經具備了基礎的 Linux 環境操作能力。明天 [Day 7],我們將進入本系列第一階段的最後一個主題——基礎 Bash 腳本撰寫。我將教大家如何把這幾天學到的指令寫成一個自動化腳本,讓系統幫我們自動執行網路狀態檢查!我們明天見。